/*
 * @Author: 李超越 1509572300@qq.com
 * @Date: 2024-07-30 13:44:09
 * @LastEditors: 李超越 1509572300@qq.com
 * @LastEditTime: 2024-07-31 14:19:19
 * @FilePath: /lesson26_shm/ShmServer.cc
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
#include "Comm.hpp"
#include "Fifo.hpp"

int main()
{

    //引入管道
    Fifo fifo;
    Sync syn;
    syn.OpenRead();

    //1.获取key
    key_t key=GetShyKeyorDie();

    //2.创建共享内存
    int shmid=CreateShm(key,defaultsize);

    //3.将共享内存和进程进行挂接
    char* addr=(char*)ShmAttach(shmid);

    while(1)
    {
        if(!syn.Wait())
        {
            continue;
        }
        cout<<"shm content:"<<addr<<endl;
        sleep(1);
    }
    
    //4.去掉共享内存
    ShmDetach(addr);

    //5.删除共享内存
    sleep(1000);
    DeleteShm(shmid);
    return 0;
}